/
PageFunction`1.xml
193 lines (163 loc) · 12.3 KB
/
PageFunction`1.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<Type Name="PageFunction<T>" FullName="System.Windows.Navigation.PageFunction<T>">
<TypeSignature Language="C#" Value="public class PageFunction<T> : System.Windows.Navigation.PageFunctionBase" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit PageFunction`1<T> extends System.Windows.Navigation.PageFunctionBase" />
<TypeSignature Language="DocId" Value="T:System.Windows.Navigation.PageFunction`1" />
<TypeSignature Language="VB.NET" Value="Public Class PageFunction(Of T)
Inherits PageFunctionBase" />
<TypeSignature Language="F#" Value="type PageFunction<'T> = class
 inherit PageFunctionBase" />
<TypeSignature Language="C++ CLI" Value="generic <typename T>
public ref class PageFunction : System::Windows::Navigation::PageFunctionBase" />
<AssemblyInfo>
<AssemblyName>PresentationFramework</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeParameters>
<TypeParameter Name="T" />
</TypeParameters>
<Base>
<BaseTypeName>System.Windows.Navigation.PageFunctionBase</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<typeparam name="T">The type of value that the <see cref="T:System.Windows.Navigation.PageFunction`1" /> returns to a caller.</typeparam>
<summary>Represents a special type of page that allows you to treat navigation to a page in a similar fashion to calling a method.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
<xref:System.Windows.Navigation.PageFunction%601> essentially allows you to treat a page navigation like a function call, in which a page navigates to (calls) a page function.
To enable function call semantics, <xref:System.Windows.Navigation.PageFunction%601> provides the following capabilities:
- When the page function has finished processing, the page function code calls <xref:System.Windows.Navigation.PageFunction%601.OnReturn%2A> to return to the calling page.
- <xref:System.Windows.Navigation.PageFunction%601.OnReturn%2A> accepts a <xref:System.Windows.Navigation.ReturnEventArgs%601> parameter, which can be used to return a value by settings the <xref:System.Windows.Navigation.ReturnEventArgs%601.Result%2A> property. Otherwise, null can be passed to <xref:System.Windows.Navigation.PageFunction%601.OnReturn%2A> to signify no value is returned
- To detect when a page function has returned, the calling page can handle the <xref:System.Windows.Navigation.PageFunction%601.Return> event.
- To return a value, the page function creates an instance of the <xref:System.Windows.Navigation.ReturnEventArgs%601> class and sets the <xref:System.Windows.Navigation.ReturnEventArgs%601.Result%2A> property with the return value. The calling page can retrieve this value from the <xref:System.Windows.Navigation.ReturnEventArgs%601> object that is passed to the <xref:System.Windows.Navigation.PageFunction%601.Return> event handler.
By default, a <xref:System.Windows.Navigation.PageFunction%601> is retained in navigation history after it returns. To ensure that it is not retained in navigation history, its <xref:System.Windows.Navigation.PageFunctionBase.RemoveFromJournal%2A> property should be set to `true`.
See [Structured Navigation Overview](/dotnet/framework/wpf/app-development/structured-navigation-overview) for details on how to use page functions.
See [Navigation Topologies Overview](/dotnet/framework/wpf/app-development/navigation-topologies-overview) for information on complex navigation structures that benefit from page functions.
<xref:System.Windows.Navigation.PageFunction%601> enables the development of wizards.
]]></format>
</remarks>
<altmember cref="M:System.Windows.Navigation.PageFunctionBase.Start" />
<altmember cref="P:System.Windows.Navigation.PageFunctionBase.RemoveFromJournal" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public PageFunction ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Navigation.PageFunction`1.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 PageFunction();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationFramework</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Windows.Navigation.PageFunction`1" /> class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If a <xref:System.Windows.Navigation.PageFunction%601> is not being kept alive (see <xref:System.Windows.Controls.Page.KeepAlive%2A>), it needs to implement a parameterless constructor to allow WPF to create a new instance of it when navigated to in back or forward navigation history.
]]></format>
</remarks>
<altmember cref="T:System.Windows.Navigation.PageFunctionBase" />
</Docs>
</Member>
<Member MemberName="OnReturn">
<MemberSignature Language="C#" Value="protected virtual void OnReturn (System.Windows.Navigation.ReturnEventArgs<T> e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnReturn(class System.Windows.Navigation.ReturnEventArgs`1<!T> e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Navigation.PageFunction`1.OnReturn(System.Windows.Navigation.ReturnEventArgs{`0})" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnReturn (e As ReturnEventArgs(Of T))" />
<MemberSignature Language="F#" Value="abstract member OnReturn : System.Windows.Navigation.ReturnEventArgs<'T> -> unit
override this.OnReturn : System.Windows.Navigation.ReturnEventArgs<'T> -> unit" Usage="pageFunction.OnReturn e" />
<MemberSignature Language="C++ CLI" Value="protected:
 virtual void OnReturn(System::Windows::Navigation::ReturnEventArgs<T> ^ e);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationFramework</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.Windows.Navigation.ReturnEventArgs<T>" />
</Parameters>
<Docs>
<param name="e">A <see cref="T:System.Windows.Navigation.ReturnEventArgs`1" /> object that contains the <see cref="T:System.Windows.Navigation.PageFunction`1" /> return value (<see cref="P:System.Windows.Navigation.ReturnEventArgs`1.Result" />).</param>
<summary>A <see cref="T:System.Windows.Navigation.PageFunction`1" /> calls <see cref="M:System.Windows.Navigation.PageFunction`1.OnReturn(System.Windows.Navigation.ReturnEventArgs{`0})" /> to return to the caller, passing a return value via a <see cref="T:System.Windows.Navigation.ReturnEventArgs`1" /> object.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
<xref:System.Windows.Navigation.PageFunction%601.OnReturn%2A> is called by a <xref:System.Windows.Navigation.PageFunction%601> to initiate a navigation to the calling page.
This causes the <xref:System.Windows.Navigation.PageFunction%601.Return> event to be raised, in order for the calling page to:
- Detect when the <xref:System.Windows.Navigation.PageFunction%601> has returned.
- Retrieve the return value from the <xref:System.Windows.Navigation.PageFunction%601>.
## Examples
The following example shows how to call <xref:System.Windows.Navigation.PageFunction%601.OnReturn%2A>.
:::code language="csharp" source="~/snippets/csharp/System.Windows.Navigation/PageFunctionT/OnReturn/GetStringPageFunction.xaml.cs" id="Snippetcallonreturncode":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/PageFunctionMembersSnippets/visualbasic/getstringpagefunction.xaml.vb" id="Snippetcallonreturncode":::
]]></format>
</remarks>
<altmember cref="M:System.Windows.Navigation.PageFunctionBase.Start" />
<altmember cref="P:System.Windows.Navigation.PageFunctionBase.RemoveFromJournal" />
</Docs>
</Member>
<Member MemberName="Return">
<MemberSignature Language="C#" Value="public event System.Windows.Navigation.ReturnEventHandler<T> Return;" />
<MemberSignature Language="ILAsm" Value=".event class System.Windows.Navigation.ReturnEventHandler`1<!T> Return" />
<MemberSignature Language="DocId" Value="E:System.Windows.Navigation.PageFunction`1.Return" />
<MemberSignature Language="VB.NET" Value="Public Custom Event Return As ReturnEventHandler(Of T) " />
<MemberSignature Language="F#" Value="member this.Return : System.Windows.Navigation.ReturnEventHandler<'T> " Usage="member this.Return : System.Windows.Navigation.ReturnEventHandler<'T> " />
<MemberSignature Language="C++ CLI" Value="public:
 event System::Windows::Navigation::ReturnEventHandler<T> ^ Return;" />
<MemberType>Event</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationFramework</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Navigation.ReturnEventHandler<T></ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when a called <see cref="T:System.Windows.Navigation.PageFunction`1" /> returns, and can only be handled by the calling page.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A calling page detects when a called <xref:System.Windows.Navigation.PageFunction%601> returns by handling <xref:System.Windows.Navigation.PageFunction%601.Return>. Additionally, the calling page can retrieve the <xref:System.Windows.Navigation.PageFunction%601> return value from the <xref:System.Windows.Navigation.ReturnEventArgs%601.Result%2A> property of the <xref:System.Windows.Navigation.ReturnEventArgs%601> which is passed to the event handler.
<a name="xamlAttributeUsage_Return"></a>
## XAML Attribute Usage
```
<object Return="ReturnEventHandler"/>
```
## Examples
The following example shows how to handle the <xref:System.Windows.Navigation.PageFunction%601.Return> event.
:::code language="csharp" source="~/snippets/csharp/System.Windows.Navigation/PageFunctionT/OnReturn/GetStringPageFunctionCaller.xaml.cs" id="Snippethandlepagefunctionreturncode":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/PageFunctionMembersSnippets/visualbasic/getstringpagefunctioncaller.xaml.vb" id="Snippethandlepagefunctionreturncode":::
]]></format>
</remarks>
<altmember cref="M:System.Windows.Navigation.PageFunctionBase.Start" />
<altmember cref="P:System.Windows.Navigation.PageFunctionBase.RemoveFromJournal" />
</Docs>
</Member>
</Members>
</Type>